package structuralModel.agentModel.dynamicProxy;

public class ClientDynamicTest {
    public static void main(String[] args) {
        System.out.println("动态代理测试start");
        //STEP 1: 创建目标对象
        UserService userService = new UserServiceImpl();

        //STEP 2: 创建代理对象
        DynamicProxy dynamicProxy = new DynamicProxy();

        //STEP 3: 调用代理对象的方法
        dynamicProxy.setTarget(userService);

        //STEP 4: 调用代理对象的方法
        UserService proxy = (UserService) dynamicProxy.getProxy();

        //STEP 5: 调用代理对象的方法
        proxy.addUser();
        proxy.deleteUser();
        proxy.updateUser();
        proxy.queryUser();
        System.out.println("动态代理测试end");
    }
}
